Routing is the act of moving information across a network from a source to a destination. In a complex network such as the Internet, information is typically relayed by a plurality of network elements located between the source and the destination. In order to achieve a fluent and efficient flow of information, it is crucial for these network elements to communicate and cooperate with one another.
A number of network protocols have been proposed and/or implemented to ensure proper communication and cooperation among network elements. For example, Border Gateway Protocol (BGP) is a routing protocol for exchanging network reachability information between neighboring gateways in different autonomous systems. For each autonomous system, there may be one or more network elements, known as “BGP speakers”, that carry out the functions of receiving routes, storing routes, modifying routes and advertising routes to their counterparts in other autonomous systems. Due to certain limitations (e.g., system resource capacity), there is typically provisioned a maximum number of routes (i.e., “prefixes”) that can be handled by a BGP speaker. Such maximum number may be referred to as a “prefix limit”.
In current practice, if the number of routes received from a BGP peer exceeds a BGP speaker's prefix limit, a peering session between the BGP speaker and the BGP peer will be restarted or any heretofore advertised routes will be discarded. This practice results in overhead costs, such as unnecessary processing, network bandwidth usage and network service disruption to both BGP speakers involved in the peering session. The root cause of this problem is the inability of each individual BGP speaker to predict the prefix limits on its peers, which is an indeterministic condition. The cost of restarting the BGP peering session and/or re-advertising the route(s) is borne by both the BGP speaker and the BGP peer. Therefore, both of them need to assume responsibility in maintaining a stable peering session. Corrective action is needed by the offending BGP speaker in maintaining a stable BGP peering session.
Though it has been proposed that new protocol messages be introduced to solve this problem, this solution can lead to increased processing and undesired complexity in the routing protocol.
In view of the foregoing, it would be desirable to provide a technique for route advertisement which overcomes the above-described inadequacies and shortcomings. More particularly, it would be desirable to provide a technique for prefix limit exchange for route advertisement in an efficient and cost effective manner.